Voltage regulators are widely used in modern electronic systems for a variety of applications such as computing (server and mobile) and POLs (Point-of-Load Systems) for telecommunications because of their high efficiency and small amount of area/volume consumed by such converters. Widely accepted voltage regulator topologies include buck, boost, buck-boost, forward, flyback, half-bridge, full-bridge, and SEPIC topologies. Multiphase buck converters are particularly well suited for providing high current at low voltages needed by high-performance integrated circuits such as microprocessors, graphics processors, and network processors. Buck converters are implemented with active components such as a pulse width modulation (PWM) controller IC (integrated circuit), driver circuitry, one or more phases including power MOSFETs (metal-oxide-semiconductor field-effect transistors), and passive components such as inductors, transformers or coupled inductors, capacitors, and resistors. Multiple phases (power stages) can be connected in parallel to the load through respective inductors to meet high output current and demanding transient requirements. Digital voltage regulators are well suited to implement high performance regulators, as they can implement sophisticated control algorithms using dynamic, multi-mode, and non-linear approaches, and provide a rich set of telemetry and protection features, with flexible capability provided through programmable configurability.
Digital voltage regulator controllers are typically configured by physical registers that contain parameter values that limit, determine or otherwise control the operation of a voltage regulator. These values can be modified by commands received over a digital interface, typically a serial interface such as I2C or PMBUS, and stored in a non-volatile memory in the controller such as flash, EEPROM, or one-time-programmable fuse based memories, so that the controller parameter values when starting up or reset are programmable, and the voltage regulator behavior is configurable. For example, the physical registers can store min/max voltage and current information, timing information, temperature limits, etc.
A parameter configuration system, typically including a computer and software, allows the user to generate, manipulate, and manage parameter values through a user interface, and communicate with the controller via a physical interface to download, upload, modify, and store register settings. Configuration files are data files which may be in text, binary or other formats, are generated and accessed by the configuration system, and contain register settings for the digital voltage regulator controller. These settings typically are in the form of pairs of register addresses and register values. The register settings control the behavior of the controller, and certain settings or combinations of settings can cause the behavior of the digital voltage regulator controller to be suboptimal or even lead to undesirable behavior. As such, it is desirable to check the register settings for rule violations and to occasionally update the rules used to check for register violations e.g. to account for newly acquired data, different regulator designs or load requirements, different board components (such as difference capacitors and/or inductors), different board designs, etc. Otherwise, the rules used to check for register violations can become dated and unreliable.